package com.raymond.queue.common.enums;

/**
 * 消费组模式
 *
 * @author :  raymond
 * @version :  V1.0
 * @date :  2021-07-27 15:53
 */
public enum GrowMode {
    /**
     * 从上次消费的开始,如果不存在上次消费,则按最后一条开始
     */
    CONTINUE_OFFSET(0),
    /**
     * 从当前最后一条开始
     */
    LAST_OFFSET(1),
    /**
     * 从某个消费组开始
     */
    COPY_GROUP(2),
    /**
     * 从首条开始
     */
    FIRST_OFFSET(3);

    private int type;

    GrowMode(int type) {
        this.type = type;
    }

    public static GrowMode getGrowMode(int type) {
        for (GrowMode value : values()) {
            if (value.type == type) {
                return value;
            }
        }
        return CONTINUE_OFFSET;
    }

    public int getType() {
        return type;
    }
}
